Oracle Executables
This table lists executable programs in $ORACLE_HOME/bin (or %ORACLE_HOME%\bin on Windows) for Oracle Enterprise Edition, including shell scripts, Windows .bat files but excluding Windows DLLs or any that can't execute directly. It's not a complete list since what programs are in that directory depends on what options I chose at the time of software installation. I'm doing my best to give descriptions about each program and add some comments I consider useful or merely interesting. Many of them show Usage by typing the program name, or the name followed by some garbage argument, or -h, or sometimes help=y. "Not in 9i" means not in 9i or 10g (i.e. only in 8i).
Legend
`: Only exists on UNIX
*: Only exists on
Windows
Program | Name | Notes |
acro* | Not in 9i | |
adapters` | Running with no argument returns info about installed Oracle Net (SQL*Net) adapters. Running with path to an Oracle binary file (oracle, sqlplus,...) shows whether the binary has Oracle Net symbols in it. | |
agent* | Possibly used in SNMP | |
agentctl | Oracle%oracle_home%Agent service Control (not in 10g) | |
agntsvc* | Oracle%oracle_home%Agent service, used by EM | |
agtctl | (Oracle Heterogeneous Services) Agent Control Utility | See ORA-28591 |
asmtool | 10g only | |
asmtoolg | GUI version of ASM tool | |
bbed* | Database Block Editor | Oracle internal use only. Not in 9i. On UNIX, you have to make it under $ORACLE_HOME/rdbms/lib. |
bulkmodify | See Oracle Internet Directory Administrator's Guide, Appendix A "Syntax for LDIF and Command Line Tools". Not in 10g | |
cemutls | 10g | |
clscfg | 10g | |
clsfmt | 10g | |
cmadmin` | Not in 9i | |
cmctl` | Not in 9i | |
cmgw` | Not in 9i | |
coraenv` | Oracle Environment C Shell | csh script to set up Ora Env; csh version of oraenv |
crsctl, crssetup | Cluster Ready Services Control and Setup utilities | 10g |
csscan | Character Set Scanner | |
ctxhx* | Called by intermedia server | |
ctxkbtc | ||
ctxlc | 10g | |
ctxload | ||
ctxsrv | Intermedia server | Not in 10g |
ctxsvc* | Intermedia service | Not in 10g |
cursize` | Not in 10g | |
dbca.bat | Database Config Assistant | Used to create and configure a database (called dbassist in 8i) |
DBConsole.pm | Perl Module to provide start, stop, status functionality (10g) | |
dbfmig` | ||
dbfsize` | Database File Size Info | If run on redo logfiles, also reports redo block size (the same value as x$kccle.lebsz or if in archivelog mode, v$archived_log.block_size). Run on controlfiles, it also reports controlfile block size, which should be the same as db_block_size. dbfsize also tells you whether the file is filesystem or raw partition based (Quick I/O reported as raw). |
dbhome` | ||
dbma.bat | 10g | |
dbshut` | Database Shutdown Script | |
dbsnmp | Database Intelligent (SNMP) Agent | According to marty.grinstead at oracle.com, "spawned when the IA is running a scheduled job". If the agent is not configured correctly, running it causes database shutdown immediate to hang. Not in 10g |
dbsnmpj* | Database Intelligent (SNMP) Agent. Not in 10g | |
dbsnmpwd.bat | Not in 10g | |
dbstart` | Database Startup Script | |
dbua` | ||
dbv | Datafile Verification | See Oracle Utilities |
debugproxy | Not in 10g | |
demobld` | Not in 10g | |
demodrop` | Not in 10g | |
deploync | ||
dgmgrl | Data Guard Manager | |
dropjava | ||
dumpsga` | ||
dsml2ldif* | XML Parser utility to generate LDAP ldif files | |
e2eme | 10g | |
echodo` | In shell script, echo the command followed by run it | |
ela | 10g | |
emagent, emagtm, emca.bat, emctl.bat, emdctl, emtgtctl, emwd.bat | 10g, EM-related | |
encaps* | Not in 10g | |
encsvc* | Oracle SNMP Peer Encapsulator service | |
esm | Enterprise Security Manager | Not in 10g |
exp | Export | See Oracle Utilities |
expdb | Data Pump Export | 10g |
extjob | 10g | |
extjobo | 10g | |
extractlib` | ||
extproc | External Procedure | |
extusrupgrade | Upgrade externally authenticated SSL users. 10gR2 | |
fmputl` | ||
fmputlhp` | ||
gatekeeper | Not in 9i | |
genagtsh` | ||
genautab` | Not in 9i | |
genclntsh` | ||
genclntst` | ||
genksms` | Generate ksms.s, the assembly language source file listing contents of SGA fixed region. E.g., .set kcrfal_,sgabeg+19072 says kcrfl (redo allocation) structure is stored in the fixed region, 19072 bytes from the beginning of SGA. (J.Morle Scaling Oracle8i, pp.260-1) | |
gennfgt` | ||
gennttab` | ||
genoccish` | ||
gensyslib` | ||
helpins | SQL*Plus Help Installation | Beginning with Oracle8, only Help for SQL*Plus, not SQL, is installed. |
hsalloci | Heterogeneous Agent (Server) with Driver for Oracle using OCI | |
hsdepxa | Heterogeneous Agent (Server) with XA compliant Distributed External Procedure driver | |
hsodbc | Heterogeneous Agent (Server) ODBC driver | |
hsolefs* | Heterogeneous Agent (Server) OLE driver | |
hsolesql* | Heterogeneous Agent (Server) OLE driver | |
hsots | Heterogeneous Agent (Server) with XA compliant OTS driver | |
idl2ir | Interface Definition Language to Interface Repository converter | Not in 9i |
i*.flt* | various Graphic Import Filters | To find out, copy them to another filename with EXE as filename extension and look at their properties in Windows Explorer. They're all from Stellent, Inc. |
imp | Import utility | See Oracle Utilities |
impdb | Data Pump Import | 10g |
irep | Interface Repository | Not in 9i |
isqlplusctl, isqlplussvc* | iSqlplus Control or Service | 10g only. In 9i, you simply uncomment the line in oracle_apache.conf and start Apache. In 10g, you have to run isqlplusctl start to start the J2EE process (Windows service). |
java2idl | Java to Interface Definition Language converter (not in 9i) | |
java2iiop | Java to Internet Inter-Orb Protocol converter (not in 9i) | |
java2rmi_iiop` | Java to Remote Method Invocation Internet Inter-Orb Protocol converter (not in 9i) | |
jpub | JPublisher | Not in 10g |
kfod | 10g. Has to do with ASM. | |
kgmgr` | ||
kgpmon` | ||
launch* | Program Launcher | E.g., on Windows, Oracle Net Assistant is not started by netasst program, which doesn't exist; instead it's launched by: %ORACLE_HOME%\bin\launch.exe "%ORACLE_HOME%\network\tools" netasst.cl. There're many other .cl files scattered around which basically call jrew somejarfile. |
launchem* | EM Launcher | Not in 10g |
lbuilder | 10g | |
lcsscan | 10g | |
ldapadd | See Oracle Internet Directory Administrator's Guide, Chapter "Managing Directory Entries" | |
ldapaddmt | see above | |
ldapbind | see above | |
ldapcompare | see above | |
ldapdelete | see above | |
ldapmoddn | see above | |
ldapmodify | see above | |
ldapmodifymt | see above | |
ldapsearch | see above | |
ldifmigrator | OID Migration tool | 9iUNIX or 10g. Migrates data from application-specific repositories into Oracle Internet Directory. |
ldifwrite | See Oracle Internet Directory Administrator's Guide, Appendix A "Syntax for LDIF and Command Line Tools". Not in 10g | |
lmsgen | NLS Binary Message File Generation | Used to generate .msb files like oraus.msb |
loadjava | To load java classes into the database | |
loadpsp | ||
localconfig | 10g | |
locserv | ||
lsnodes | List Nodes | lists all nodes or a specific node in a RAC configuration if RAC is installed (10g or conditionally installed in 9i) |
lsnrctl | TNS Listener Control | Launches tnslsnr process. See tnslsnr below. Be careful when you type lsnrctl stop (or reload) on client side, unless DBA has set password on the server side (see Item 16 on my Idiosyncrasies page). |
lxchknlb` | ||
lxegen | NLS Calendar | |
lxinst | NLS Data Installation | |
mapsga` | ||
maxmem` | Maximum Memory for a process | Oracle process virtual memory size is limited by the smaller of maxmem and ulimit -m. Windows doesn't have this utility simply because a process on Windows can potentially use all memory minus kernel non-paged pool. |
mergelib` | Not in 9i | |
mig | Oracle Migration/Upgrading | Not in 10g. 9i documentation says mig "converts the data dictionary and structures of an Oracle7 database into Oracle9i format". 10g doesn't support direct upgrade from Oracle7 so it stops shipping this tool. |
migprep | Migration/Upgrading Preparation | Not in 10g. See above comments. |
mkstore | 10g | |
modifyprops* | Not in 9i | |
NAEGEN* | Diffie Hellman Parameter Generation | Not in 10g |
namesctl | Oracle Names Server Control | Not in 10g |
ncomp | ||
netasst` | Network Assistant | See launch above for how to start it on Windows (Not in 9i) |
netca | Net Configuration Assistant | 9iUNIX or 10g |
netca_deinst | Net Configuration Assistant Deinstall | 10g |
netlaunch` | ||
netmgr` | ||
nid | DB New ID | Change DBID so a database cloned using the traditional method (instead of DUPLICATEd by RMAN) can register with the same RMAN catalog as the source DB. The syntax is nid target=sys/syspassword. (It's not nid target="sys/syspassword as sysdba" even if you need as sysdba for sqlplus). After running nid, you have to open resetlogs, and database resetlogs time and v$thread.enable_time will both be updated. |
nmei, nmelproc, nmeo, nmesrvc, nmesrvcops, nmetm, nmo, nmocat, nmuct, nmupm | 10g | |
nmudg | Not in 10g | |
nmumigrate (8i), nmumigr8 (9i) | Oracle Data Gatherer or DG Cartridge Migration | Not in 10g |
oadj | Not in 9i | |
oadutil | Object Activation Daemon Utility | In Discoverer, type oadutil list to check services registered with OAD (not in 9i) |
ociconv` | OCI Conversion | |
ocm | Not in 10g | |
ocm_oratclsh` | Not in 10g | |
ocopy* | Oracle file copy program | Allegedly the only tool you should use to copy open datafiles. There's no difference between filesystem files copied by this and by DOS copy command. But if you use raw "files" (raw partitions used as Oracle datafiles), ocopy (or RMAN) has to be used. |
ocrcheck, ocrconfig, ocrdump | Oracle Cluster Registry Check, Config and Dump utilities | 10g |
ocssd | 10g | |
odisrv | Not in 10g | |
odisrvreg | Not in 10g | |
odma` | Not in 9i | |
odpreg | 10g | |
oemapp | ||
oemautil.bat* | Oracle Intelligent Agent | |
oemctl.bat* | ||
oemevent | Oracle Intelligent Agent | |
oemPingOmsInternal.bat* | ||
oerr` | Oracle Error | See my freeware Windowsoerr |
oidadmin` | Oracle Internet Directory Admin | On Windows, you launch Oracle Directory Manager (a jrew application) in Integrated Management Tools program group. |
oidca | 10g | |
oidpasswd | ||
oidprovtool | OID Provisioning Tool | 9i UNIX or 10g. Used to create a subscription profile for OID subscribers such as Portal. |
oidreconcile | ||
ojspc | Oracle JSP Compiler | Not in 10g |
ojvmjava | 9i UNIX or 10g | |
okdstry | Kerberos utility | |
okinit | Kerberos utility | |
oklist | Kerberos utility | |
olsadmintool | 10g | |
olsoidsync | 10g | |
onrsd | Not in 10g | |
onsctl | 10g | |
oo4ocodewiz* | Oracle Objects for OLE Code Wizard for stored procedures | |
operfcfg* | Oracle Perfmon Config | |
oracg | ||
oracle | Oracle RDBMS Kernel Executable | On UNIX, if dedicated configuration, every client process such as
sqlplus or Toad, connects to tnslsnr, which fork()'s and then
exec()'s oracle kernel program, $ORACLE_HOME/bin/oracle. The
oracle process thus created is called a server process, or a shadow
process to emphasize the client-server two-task nature. This server
process is renamed to oracleSID (DESCRIPTION=(LOCAL=... for easy
identification and troubleshooting. But its program (process text) is
still this oracle binary. You should never directly run this binary; or
you may get ORA-600 [12235] (See Note:33174.1).
You should also avoid changing the process priority according to Oracle.
But Steve Adams tested and noticed it
may improve DBWn performance if its priority is increased. You
should also avoid stripping the oracle binary or you may lose
symbol information in trace files. But you can certainly run nm
on it to get symbols such as sgabeg in this file. The only way
for us to find all undocumented SQL hints is by running strings
on it.
On Windows, there's always only one oracle.exe process for one instance. Each server "process" is just a Windows thread inside this process. If you have multiple Oracle instances running in Windows, you can identify the process for a specific instance by tools such as tlist. |
OracleAdNetConnect* | OracleAdNetConnect MFC Application | |
OracleAdNetTest* | ||
oradim* | Used to create a Windows service named OracleServiceSID | |
oradism` | Oracle Dynamic Intimate Shared Memory | Used on Solaris to configure Dynamic ISM, so as to get the benefit of shared page table between processes while allowing for SGA to be not completely locked in physical memory |
oraenv` | Setup Oracle Environment; run as . oraenv and pass SID to it | |
orakill* | Usage: orakill instance_name v$process.spid. Used to kill a specific thread inside oracle.exe process. Apparently orakill does a little more than just killing the thread because using a non-Oracle tool such as Sysinternals's Process Explorer to kill a thread in oracle.exe doesn't always make a hanging session and its lock go away; you may have to manually run oradebug wakeup 1 to wake up pmon (which should clear the lock and v$session / v$process, but the client app may still hang). If you can't run orakill for any reason, use a tool like Process Explorer, followed by manual pmon wakeup. | |
orapipe | In 10g. Read Oracle XML Developer's Kit Programmer's Guide, Chapter "Pipeline Definition Language for Java" | |
orapki | Oracle Public Key Infrastructure utility | In 10g. Read Oracle Database Advanced Security Administrator's Guide, Chapter "Configuring Secure Sockets Layer Authentication" |
orapwd | Oracle Password utility | Used to create a password file for SYSDBA and SYSOPER connection. On Windows, you can also use oradim as a second choice (you have to delete and recreate if the password already exists). |
orastack* | Oracle Stack modification | Used to resize the stack of an Oracle executable file such as oracle.exe, tnslsnr.exe (one way of preventing ORA-12500). Type the command at DOS to see an excellent description. (Not equivalent to pstack available on some UNIXes used to dump stack trace of a running process, but more like Solaris command ppgsz -o stack=... except it works on file not process) |
oratclsh | Oracle TCL Shell | TCL programming language shell for Oracle. In spite of Oracle's advocacy, few people actually used it and now it's silently deprecated by Oracle, probably in favor of Perl. One trivial usage is to retrieve error messages on any OS (see examples here). Extensive use can be found in J. Morle's Scaling Oracle8i. Not in 10g Windows and not working in 10g Linux/UNIX. |
oraxml | ||
oraxsl | ||
osagent* | Visibroker OS Agent | Type osagent -? (or -h) to see Usage (not in 9i) |
osfind* | Visibroker utility to find OS agents (not in 9i) | |
osh` | ||
otrccol | Oracle Trace Collection | See Oracle Designing and Tuning for Performance, Chapter "Using Oracle Trace". Not in 10g since Oracle Trace is deprecated. |
otrccref | see above | |
otrcfmt | see above | |
otrcrep | see above | |
ott | ||
ott8 | Not in 10g | |
owhat` | Oracle what | Runs UNIX what command on programs listed in arguments to find patches; doesn't work well; suggest you run what directly. Not in 10g |
owm` | Oracle Wallet Manager | Windows has owm.dll and owm.cl, but not owm.exe or .bat |
pagntsrv* | Not in 10g | |
passwdconvert | Not in 10g | |
printIOR* | Not in 9i | |
proc | Proc*C/C++ compiler | |
procob, procob18, procob18_32, procob32 | Not in 10g | |
procui* | Not in 10g | |
profor` | Not in 10g | |
proxyserv` | Not in 10g | |
publish | Not in 9i | |
pupbld | Product User Profile Build | Creates Product User Profile tables for SQL*Plus |
rawutl | 10g | |
relink` | Not in 10g | |
remove | Not in 9i | |
remtool` | Not in 10g | |
repo_mig | 10g | |
rman | Recover Manager | |
rtsora`, rtsora32` | Not in 10g | |
runInstaller` | Not in 10g. 10g Windows uses %oracle_home%\oui\bin\setup.exe. | |
sbttest` | ||
schema | ||
schemasync | Not in 10g | |
sclsspawn | 10g | |
searchctl | 10g | |
selecthome.bat* and others | 10g only. 10g doesn't have Home Selector in Start menu. Instead launch OUI to select Home. OUI runs selecthome.bat internally. | |
sess_sh | Not in 9i | |
setlinks* | You can use setlinks /d to show Windows devices. Not in 9i | |
sqlj | SQLJ engine | Not in 10g (SqlJ is deprecated) |
sqlldr | SQL*Loader | See Oracle Utilities |
sqlplus | SQL*Plus | 10g has two new command line options: -C sets SQL*Plus compatibility version; -L attempts log on just once. |
sqlplusw* | SQL*Plus for Windows | |
statusnc | ||
svrmgrl | Server Manager | Not in 9i. Use sqlplus '/ as sysdba' instead (substitute " for ' in Windows) |
symfind` | Symbol Finder. | Documented in 10g Admin's Reference for UNIX. |
sysresv` | System Resources Viewer | Shows IPC resources: shared memory segments and semaphores |
tdvapp* | Not in 10g | |
tkprof | Used to get more meaningful output from a session trace file | |
tnslsnr | TNS listener | You run this program from lsnrctl. Only run this program directly, as root, if you start listener on a port below 1024 on UNIX; even in this case, stopping the listener can be done with lsnrctl. |
tnsping | TNS Ping | Note you can have two arguments, the second being the number of times the listener is pinged. |
transx | XML Translator | See XML Developer's Kit Programmer's Guide, Chapter "TransX Utility" |
trcasst | SQL*Net Trace Assistant | Used to analyze SQL*Net trace file |
trcsess | Session Trace | In 10g. See Database Performance Tuning Guide, Chapter "Using Application Tracing Tools". It merges multiple SQL trace files for a session to be used by tkprof. Useful in Shared Server session trace. Before 10g, try OraSRP. |
trcfmt` | See otrcfmt. Not in 10g | |
trcroute` | Trace Route | Hopefully it can offer more insight than tnsping into a failed Oracle Net connection. |
tstshm` | Test Shared Memory | |
umu | User Migration Utility | Migrate database users to a directory |
unzip | decompressing tool | |
vbdebug | VisiDebugger | Not in 9i |
vbj | Not in 9i | |
vbj_convert | Not in 9i | |
vbjc | Not in 9i | |
vdoshell* | Not in 10g | |
vipca | 10g | |
vmq* | Not in 10g | |
vppcntl | Oracle Data Gatherer Executable | "Control utility for the Data Gatherer" (marty.grinstead at oracle.com). Not in 9i |
vppdc | Oracle Intelligent Agent Executable | "Data Gatherer - collects data for Performance Manager and Capacity Planner" (marty.grinstead at oracle.com). Not in 9i |
vtushell* | Not in 10g | |
wrap | PL/SQL code Wrapper | Used to encrypt code to protect source code. Until 10g, string literals are not protected; "Hello world!" will be shown as "1Hello world!" in xxx_SOURCE. |
xml | ||
xmlcg | ||
xpautune* | Not in 10g | |
xpcoin* | Not in 10g | |
xpksh* | Not in 10g | |
xpui* | Not in 10g | |
xsl | 10g | |
xsql | ||
xsqlproxy* | ||
xvm | 10g | |
zip* |
Relevant Links Dave Moore's Oracle Utilities
To my Computer Page